From 9d8a32b07d91be371cb021ad55f44742776ec753 Mon Sep 17 00:00:00 2001 From: Jonh Wendell Date: Mon, 2 Dec 2013 16:32:54 -0200 Subject: [PATCH] toolbar: draw a full box for separators This allows themes do whatever they want as separators, with paddings, borders and backgrounds. If "wide-separators" property is true, then, instead of just draw a frame, also render its background, and take into account the padding property for its limits. https://bugzilla.gnome.org/show_bug.cgi?id=719713 --- gtk/gtktoolbar.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index c6b8dd37a4..46c4ca1a9f 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -3608,11 +3608,18 @@ _gtk_toolbar_paint_space_line (GtkWidget *widget, NULL); if (wide_separators) - gtk_render_frame (context, cr, - (width - separator_width) / 2, - height * start_fraction, - separator_width, - height * (end_fraction - start_fraction)); + { + gtk_render_background (context, cr, + (width - separator_width) / 2, + padding.top, + separator_width, + height - padding.bottom); + gtk_render_frame (context, cr, + (width - separator_width) / 2, + padding.top, + separator_width, + height - padding.bottom); + } else gtk_render_line (context, cr, (width - padding.left) / 2, @@ -3631,11 +3638,18 @@ _gtk_toolbar_paint_space_line (GtkWidget *widget, NULL); if (wide_separators) - gtk_render_frame (context, cr, - width * start_fraction, - (height - separator_height) / 2, - width * (end_fraction - start_fraction), - separator_height); + { + gtk_render_background (context, cr, + padding.left, + (height - separator_height) / 2, + width - padding.right, + separator_height); + gtk_render_frame (context, cr, + padding.left, + (height - separator_height) / 2, + width - padding.right, + separator_height); + } else gtk_render_line (context, cr, width * start_fraction, -- 2.30.2